Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Считывание числа записей таблицы и запись этого числа в переменную. КАК? (Серж.Никитин)
Author Message
Серж.Никитин
Участник форума



Joined: 09 Aug 2005
Posts: 29
Карма: -2
   поощрить/наказать

Location: Челябинск - Тамбов

PostPosted: Thu Jan 12, 2006 1:28 pm (написано за 4 минуты 18 секунд)
   Post subject: Считывание числа записей таблицы и запись этого числа в переменную. КАК?
Reply with quote

Никто не может помочь?
Вот у меня есть таблица mysql, например
  ____ ______ __________
 | id | name | lastname |
  ---- ------ ----------
 | 1 | Петя | Иванов |
 | 2 | Вася | Петров |
 | 3 | Коля | Иванов |
  ---- ------ ----------

Как мне записать в переменную $lol количество строк, в которых lastname==Иванов
Простите сразу за самоварство
Back to top
View user's profile Send private message
Andrey Gurin
Участник форума



Joined: 24 May 2005
Posts: 183
Карма: 20
   поощрить/наказать

Location: Italy

PostPosted: Thu Jan 12, 2006 2:15 pm (спустя 46 минут; написано за 21 секунду)
   Post subject:
Reply with quote

Например, так
Code (php): скопировать код в буфер обмена
$resource = mysql_query (www.php.net/mysql_query)("SELECT COUNT(*) AS totent FROM table_name WHERE lastname=''");
if (mysql_errno (www.php.net/mysql_errno)()) die (www.php.net/die)(mysql_error (www.php.net/mysql_error)()); //

$row = mysql_fetch_assoc (www.php.net/mysql_fetch_assoc)($resource);
print (www.php.net/print) $lol = $row['totent'];
Back to top
View user's profile Send private message
INF
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Apr 27, 2006 10:22 pm (спустя 3 месяца 15 дней 8 часов 7 минут; написано за 55 секунд)
   Post subject:
Reply with quote

Продолжу вопросс! А как, например, вывести 5 лучших пользователей, которые самое больше закачали файлов?
Back to top
Юра Скляр
Участник форума



Joined: 27 Feb 2006
Posts: 51
Карма: 2
   поощрить/наказать


PostPosted: Thu May 04, 2006 12:58 am (спустя 6 дней 2 часа 36 минут; написано за 3 минуты 52 секунды)
   Post subject:
Reply with quote

есть проблема:
Code (php): скопировать код в буфер обмена
$present = mysql_query (www.php.net/mysql_query)("SELECT COUNT(*) FROM users WHERE login1='".$_REQUEST['login1']."'")
        or die (www.php.net/die)("MySQL error: ".mysql_error());
по идее, если я все правильно понимаю, то в результате выполнения строки кода в переменую $present должно попасть число - количество элементов в таблице users, удовлетворяющих условию.

но в $present всегда после выполнения кода всегда попадает число 4, вне зависимости от количества строк в таблице, удовлетворяющих условию

sos
Back to top
View user's profile Send private message Send e-mail
Юра Скляр
Участник форума



Joined: 27 Feb 2006
Posts: 51
Карма: 2
   поощрить/наказать


PostPosted: Thu May 04, 2006 1:17 am (спустя 18 минут; написано за 46 секунд)
   Post subject:
Reply with quote

сори, попадает не число 4, а "Resource id #4"
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Thu May 04, 2006 2:01 am (спустя 43 минуты; написано за 28 секунд)
   Post subject:
Reply with quote

Юра Скляр
RTFM.
Посмотрите на список функций, для работы с mySQL.
Back to top
View user's profile Send private message
Юра Скляр
Участник форума



Joined: 27 Feb 2006
Posts: 51
Карма: 2
   поощрить/наказать


PostPosted: Thu May 04, 2006 1:28 pm (спустя 11 часов 26 минут; написано за 48 секунд)
   Post subject:
Reply with quote

ясно. просто где-то читал, что такой формат записи возвращает число
оказалось неправдой
Back to top
View user's profile Send private message Send e-mail
iNF
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu May 04, 2006 3:09 pm (спустя 1 час 41 минуту; написано за 1 минуту 14 секунд)
   Post subject:
Reply with quote

То все таки как реализовать мой пример ... если кто-то уже делал дайте готовый пример - пожлста... очень надо
Back to top
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Thu May 04, 2006 5:50 pm (спустя 2 часа 41 минуту; написано за 1 минуту 43 секунды)
   Post subject:
Reply with quote

INF wrote:
А как, например, вывести 5 лучших пользователей, которые самое больше закачали файлов?
Смотите в мануал, как использовать GROUP BY, SUM(), ORDER BY, LIMIT
Back to top
View user's profile Send private message
IFN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat May 06, 2006 11:10 pm (спустя 2 дня 5 часов 20 минут; написано за 3 минуты 40 секунд)
   Post subject:
Reply with quote

Maus почитал и вот что у меня получается!
Вот у меня есть таблица mysql, например:
Code (any language): скопировать код в буфер обмена
____ ______ __________ _____
| id | name | lastname | file |
---- ------ ---------------------
| 1 | Петя | Иванов | win.rar
| 2 | Вася | Петров | dos.rar
| 3 | Коля | Иванов | gas.rar
| 4 | Коля | Иванов | fin.rar
| 5 | Вася | Петров | ap.rar
Делаем:
Code (SQL): скопировать код в буфер обмена
SELECT COUNT( * )
FROM article
мне выводит сумму всез записей. делаю дальше
Code (SQL): скопировать код в буфер обмена
SELECT COUNT(`name`)
FROM article
WHERE ?????????
ORDER BY `name` ASC
LIMIT 0 , 5
что прописать за место этих знаков ????
Back to top
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Tue May 09, 2006 12:28 pm (спустя 2 дня 13 часов 17 минут; написано за 4 минуты 43 секунды)
   Post subject:
Reply with quote

Code (SQL): скопировать код в буфер обмена
SELECT `name`, `lastname`, COUNT(`file`) AS cnt
FROM `article`
GROUP BY `name`, `lastname`
ORDER BY `cnt` DESC
LIMIT 5
Сортировку по имени внутри запроса Вы не получите - поскольку сортировка используется для LIMIT.
Кстати, пользователей лучше было вынести в отдельную таблицу user(user_id, name, lastname).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML